<?php
namespace Shopex\Contracts\Stock;

/**
 * 库存修改接口
 *
 * @package Stock
 * @author 
 */
interface StockChange
{
    /**
     * 设置库存修改索引
     * 可以是订单号、采购入库号、销售出库号
     * 
     * @param [type] $type [description]
     */
    public function setChangeKey($key);

    public function getChangeKey();
    /**
     * 设置库存修改类型
     * 可以是创建订单、取消订单、采购入库、销售出库
     * 
     * @param [type] $type [description]
     */
    public function setChangeType($type);
    /**
     * 获取库存修改类型
     * 
     * @return string
     */
    public function getChangeType();
    /**
     * 添加库存扣减明细
     * 
     * @param \Shopex\Contracts\Stock\StockItem $stockItem
     * @return null
     */
    public function addStockItem(StockItem $stockItem);

    /**
     * 获取库存扣减明细
     * 
     * @return \Shopex\Contracts\Stock\StockItem|null
     */
    public function getStockItem();

}
